package com.javarush.test.level08.lesson08.task05;

import java.util.HashMap;
import java.util.Map;

/* Удалить людей, имеющих одинаковые имена
Создать словарь (Map<String, String>) занести в него десять записей по принципу «фамилия» - «имя».
Удалить людей, имеющих одинаковые имена.
*/

public class Solution
{
    public static HashMap<String, String> createMap()
    {
        HashMap<String, String> map = new HashMap<String, String>();
        map.put("A", "QQ");
        map.put("B", "QQ");
        map.put("C", "E");
        map.put("D", "R");
        map.put("E", "G");
        map.put("F", "H");
        map.put("G", "K");
        map.put("H", "T");
        map.put("I", "M");
        map.put("J", "Z");


        return map;

    }

    public static void removeTheFirstNameDuplicates(HashMap<String, String> map)
    {
        /*for (Map.Entry<String,String>pair:map.entrySet())
        {
            System.out.println(pair.getKey()+" - "+pair.getValue());
        }*/
        HashMap<String, String> copy = new HashMap<String, String>(map);
        HashMap<String, String> copy1 = new HashMap<String, String>(map);

        for (Map.Entry<String,String>pairfirst : copy.entrySet())
        {
            for (Map.Entry<String, String> pairsecond : copy1.entrySet())
            {
                if ((!pairfirst.getKey().equals(pairsecond.getKey())) && (pairfirst.getValue().equals(pairsecond.getValue())))
                    removeItemFromMapByValue(map, pairfirst.getValue());
            }
        }
        /*for (Map.Entry<String,String>pair:map.entrySet())
        {
            System.out.println(pair.getKey()+" - "+pair.getValue());
        }
        */
    }

    public static void removeItemFromMapByValue(HashMap<String, String> map, String value)
    {
        HashMap<String, String> copy = new HashMap<String, String>(map);
        for (Map.Entry<String, String> pair: copy.entrySet())
        {
            if (pair.getValue().equals(value))
                map.remove(pair.getKey());
        }
    }

    /*public static void toString(HashMap<String, String> map)
    {
        for (Map.Entry<String,String>pairfirst:map.entrySet())
        {
            System.out.println(pairfirst.getKey()+" - "+pairfirst.getValue());
        }
    }


    public static void main(String[] args) throws Exception
    {

        removeTheFirstNameDuplicates(createMap());





    }*/
}
